1. Field of the Invention
The present invention relates to a parallel computer comprising a plurality of processing elements, in particular, to a parallel computer for reducing overhead of software so as to improve efficiency of data processing.
2. Description of the Related Art
When a parallel computer that performs communication by message passing executes a global operation, it treats data used in the global operation as messages. In other words, each processing element of the parallel computer sends data necessary for a global operation to a buffer of a designated receiver processing element in the same manner as a conventional message. Then the receiver processing element searches a buffer by software and copies the data to a user memory region to receive the message data. In this case, a conventional memory is used for the buffer. Since it is necessary to search the buffer and copy a message from the buffer, overhead of software is large.
To solve such a problem, a method for using active messages such as PUT/GET is known.
When a processing element uses a PUT message, data can be directly transferred from a user region of the processing element(sender) to a user region of another processing element(receiver) without using a buffer. When a processing element uses a GET message, data can be directly transferred from the user region of another processing element(sender) to the user region of the processing unit(receiver) without using the buffer.
Thus, the overhead involved in the receiving process of message passing can be deleted. In addition, the communication and calculation can be overlapped. However, in the case of PUT/GET, unlike with the message passing, there is no explicit receive command, therefore means for detecting the reception of a message is required.
Thus, to implement the PUT/GET in a conventional parallel computer, when the computer receives a message, it activates a software handler using an interrupt so as to exclusively update a flag that represents the reception of the message in a system mode or the like to detect the reception of the message.
However, in the above described configuration, overhead of the software is large.